package main

import (
	"fmt"
	"time"
)

func main() {
	m1()
	//m2()
}

// 从不同并发执行的协程中，获取数据可以用select来完成。select监听的多个通道，也可以用通道发送数值。
func m1() {
	var count int
	for {
		select {
		case <-time.Tick(time.Millisecond * 500):
			fmt.Println("咖啡色的羊驼")
			count++
			fmt.Println("count--->", count)
		case <-time.Tick(time.Millisecond * 499):
			fmt.Println(time.Now().Unix())
			count++
			fmt.Println("count--->", count)
		}
	}
}

func m2() {
	t1 := time.Tick(time.Second)
	t2 := time.Tick(time.Second)
	var count int
	for {
		select {
		case <-t1:
			fmt.Println("咖啡色的羊驼")
			count++
			fmt.Println("count--->", count)
		case <-t2:
			fmt.Println(time.Now().Unix())
			count++
			fmt.Println("count--->", count)
		}
	}
}
